package com.gsafety.wellsfort.service.organization;

import com.gsafety.wellsfort.common.util.ApiResponse;
import com.gsafety.wellsfort.domain.dto.ids.OrganizationDto;
import com.gsafety.wellsfort.domain.dto.school.SchoolDTO;
import com.gsafety.wellsfort.domain.form.Tree;
import com.gsafety.wellsfort.domain.model.organization.School;
import com.gsafety.wellsfort.domain.vo.PublishRangeTreeVO;
import com.gsafety.wellsfort.domain.vo.SchoolTreeVO;

import java.util.List;

/**
 * @Author: wuming
 * @Date: 2020/5/1 下午3:43
 * @Description
 */
public interface ISchoolService {


    /**
     * 获取学校详情
     *
     * @param id
     * @return
     */
    ApiResponse getSchoolDetail(Integer id);

    /**
     * 获取列表
     *
     * @param schoolDTO
     * @return
     */
    ApiResponse getAll(SchoolDTO schoolDTO);

    /**
     * 添加学校
     *
     * @param school
     * @return
     */
    ApiResponse addSchool(School school);


    ApiResponse batchAddSchool(List<School> list);


    /**
     * 获取学校列表
     *
     * @return
     */
    ApiResponse list(SchoolDTO schoolDTO);

    /**
     * 获取学校列表
     *
     * @return
     */
    ApiResponse<List<School>> list();

    School get(Integer id);


    ApiResponse update(School school);


    ApiResponse<PublishRangeTreeVO> getOrganization(OrganizationDto organizationDto);

    ApiResponse<PublishRangeTreeVO> getDefaultOrganization();


    Integer count();
}
